package cn.flying.cloud.auth.security.vo;

import java.io.Serializable;
import java.util.Map;

import com.alibaba.fastjson2.annotation.JSONField;

/**
 * 登录成功返回结果对象
 *
 * @author: admin
 * @date: 2023年06月15日 16:18
 * @version: 1.0
 */
public class LoginResult implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 类型
     */
    @JSONField(name = "token_type")
    private String tokenType;
    /**
     * 认证令牌
     */
    @JSONField(name = "access_token")
    private String accessToken;
    /**
     * token过期时间
     */
    @JSONField(name = "expires_in")
    private Long expiresIn;
    /**
     * 刷新令牌
     */
    @JSONField(name = "refresh_token")
    private String refreshToken;
    /**
     * jwtId
     */
    private String jti;
    /**
     * 扩展信息
     */
    private Map<String, Object> userInfo;

    public String getTokenType() {
        return tokenType;
    }

    public void setTokenType(String tokenType) {
        this.tokenType = tokenType;
    }

    public String getAccessToken() {
        return accessToken;
    }

    public void setAccessToken(String accessToken) {
        this.accessToken = accessToken;
    }

    public Long getExpiresIn() {
        return expiresIn;
    }

    public void setExpiresIn(Long expiresIn) {
        this.expiresIn = expiresIn;
    }

    public String getRefreshToken() {
        return refreshToken;
    }

    public void setRefreshToken(String refreshToken) {
        this.refreshToken = refreshToken;
    }

    public String getJti() {
        return jti;
    }

    public void setJti(String jti) {
        this.jti = jti;
    }

    public Map<String, Object> getUserInfo() {
        return userInfo;
    }

    public void setUserInfo(Map<String, Object> userInfo) {
        this.userInfo = userInfo;
    }
}